//
//  Person.h
//  02_ClassAndObject
//
//  Created by 徐昊 on 16/7/5.
//  Copyright © 2016年 徐昊. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Person : NSObject
// 大括号中所包含的是类的成员变量(实例变量)
{
    // 系统默认是受保护的 @protected
    // @protected 受保护的, 类本身及其子类可以访问
    // @public 公开的, 让外界可以访问
    // @private 私有的, 只有类自己可以访问
    // @package 一般系统内部使用, 很少用
    @protected
    NSString *_name;
    @public
    NSInteger _age;
}
// 方法分为两种
// + 类方法(由类去调用)
// - 实例方法(由对象去调用)
// C语言的函数 返回值 函数名(参数列表)
void func(int a);
// OC的方法 返回值类型 方法名: 参数
- (void)sleep:(NSInteger)time;

// set方法
- (void)setName:(NSString *)name;

- (NSString *)name;

// 代码规范
// 1.- + 符号后面接空格
// 2.init后驼峰命名
// 3.参数名首字母要小写, 后续单词遵循驼峰(小驼峰命名法)
// 4.参数间可以以回车区分
- (instancetype)initWithName:(NSString *)name
                         age:(NSInteger)age;

- (instancetype)initWithName:(NSString *)name;

- (instancetype)initWithAge:(NSInteger)age;

+ (instancetype)personWithName:(NSString *)name
                           age:(NSInteger)age;







@end
